<?php
//php支持多行字符串
{
    $s='I\'m a student\\teacher.'; //仅支持两个转义字符 (1)\'表示', (2)\\表示\
    echo $s,"\n";

}
$s="He say:\"I'm a student.\""; //支持更多的转义字符
echo $s,"\n";

$a='计算机123';
printf("[%d] [%5d] [%05d] [%X] [%5X] [%05X]\n", 26,26,26,26,26,26);
echo strlen($a),"\n";
echo ord('0'),"\n";
echo ord('0123'),"\n"; //返回字符串首字符的ASCII码
echo substr($a,3),"\n"; //从3的位置开始的所有内容 // 算机123
echo substr($a,6, 4),"\n"; //从6的位置开始的4个字符 // 机1

for($i=0,$l=strlen($a);$i<$l;++$i){ //将字符串的每一个字节按16进制显示出来
    printf("%02X ", ord(substr($a,$i))); //E8 AE A1 E7 AE 97 E6 9C BA 31 32 33
}
echo "\n";
echo ord(substr($a,0)), "\n"; //232 = 0xE8 计
$b="\xE8\xAE\xA1\u{7B97}\u{673A}"; //计算机
echo $b,"\n";

$s=<<<'XXXXYYYY'
        <?php
        //php支持多行字符串
        $s='I\'m a student\\teacher.'; //仅支持两个转义字符 (1)\'表示', (2)\\表示\
        echo $s,"\n";
        $s="He say:\"I'm a student.\""; //支持更多的转义字符
        echo $s,"\n";
        XXXXYYYY;
echo $s,"\n";

//仅仅双引号字符串，heredoc支持变量解析
//(1)变量 (2)数组元素
$go='去';
$good='好的';
echo "go的意思是：$go\n"; // go的意思是：去
echo "good的意思是：$good\n"; // good的意思是：好的
echo "good的意思是：{$go}od\n"; // good的意思是：去od
echo "good是：“{$good}”的意思\n"; // good是：“好的”的意思

$a=[90, 'php'=>98, 'age'=>18]; //数组元素的解析
echo "a[0]=$a[0]\n";
echo "a['php']=$a[php]\n"; //php不要加引号
echo "a['age']={$a['age']}\n"; //age加引号，元素必须包在{}中

//通过key访问字符串中的字符
$s='string';
echo "$s\n";
$s[0]='S'; //首字符修改为S
echo "$s\n";
$s[3]='oxyz'; //仅取首字符o，忽略xyz
echo "$s\n";
$s[8]='!'; //会增加字符串的长度，多余字符填充空格
echo "$s\n";
echo "字符串第6个字符是：$s[5]\n";






